#ifndef AUTH_H
#define AUTH_H


#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


#include "globals.h"
#include "adaptation.h"


int auth_add_random_parameter(ChunkID);
int auth_add_chklist_parameter(ChunkID, unsigned char *, size_t);
int auth_add_hmaclist_parameter(ChunkID, unsigned short *, size_t);

int auth_init(void);

void *auth_new(void);
int auth_delete(void *);

int auth_recv_random_parameter(ChunkID, ChunkID);
int auth_recv_chklist_parameter(ChunkID, ChunkID);
int auth_recv_hmacalgo_parameter(ChunkID, ChunkID);

int auth_is_required_sending(unsigned char chunk_type);
int auth_is_required_receiving(unsigned char chunk_type);

SCTP_auth_chunk *auth_add_auth_chunk(unsigned char *, size_t);
int auth_fill_auth_chunk(SCTP_auth_chunk *, adl_message_buf *);
int auth_recv_auth_chunk(SCTP_auth_chunk *, size_t);
#endif
